package com.sky.mapper.admin;

import com.github.pagehelper.Page;
import com.sky.dto.OrdersPageQueryDTO;
import com.sky.pojo.Orders;
import com.sky.vo.OrderStatisticsVO;
import com.sky.vo.OrderVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;


@Mapper
public interface AdminOrderMapper {

    /**
     *  分页查询  (OrderVO，继承了订单信息)
     * 包括：订单信息，订单详情，骑手信息
     */
    Page<OrderVO> get(OrdersPageQueryDTO dto);

    //各个状态的订单数量统计
    OrderStatisticsVO countStatus();

    /**
     * 根据订单id查询订单详情
     * 包括：订单信息，订单详情，骑手信息
     */
    OrderVO getOrder(Long orderId);

    /**
     * 取消订单
     * @param
     */
    @Update("update orders set cancel_reason=#{cancelReason},status=7 where id=#{id}")
    void quXiao(Orders orders);


    /**
     * 拒绝订单
     * @param
     */
    @Update("update orders set rejection_reason=#{rejectionReason},status=7 where id=#{id}")
    void juJue(Orders orders);


}
